﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ESAN.Componentes.DACoreESAN.Models;
using ESAN.Componentes.DACoreESAN.Logic.Facade;

namespace ESAN.Componentes.BLCoreESAN.Logic.Facade
{
    public class BLCliente
    {

        static public IN_POSTULANTE ValidarUsuario(string correo)
        {
            return DACliente.ValidarUsuario(correo);
        }
        /// <summary>
        /// Se obtiene un cliente
        /// </summary>
        /// <param name="ID">Identificados del Cliente</param>
        /// <returns>Objeto del tipo cliente</returns>
        public static IN_CLIENTE ObtenerCliente(int ID)
        {
            return DACliente.ObtenerCliente(ID);
        }
        public static bool ActualizarClienteInformacionPersonal(IN_CLIENTE cliente, int idPostulante)
        {
            return DACliente.ActualizarClienteInformacionPersonal(cliente, idPostulante);
        }

        public static bool RegistrarClienteIdioma(int CLId, int idPostulante, string nombreIdioma, int nivelLectura, int nivelEscritura, int nivelHablado)
        {
            return DACliente.RegistrarClienteIdioma(CLId, idPostulante, nombreIdioma, nivelLectura, nivelEscritura, nivelHablado);
        }

        public static List<IN_CLIENTE_IDIOMA> ListarClienteIdioma(int idPostulante)
        {
            return DACliente.ListarClienteIdioma(idPostulante);
        }

        public static IN_CLIENTE_IDIOMA ObtenerClienteIdioma(int ID)
        {
            return DACliente.ObtenerClienteIdioma(ID);
        }

        public static bool EliminarClienteIdioma(int ID)
        {
            return DACliente.EliminarClienteIdioma(ID);
        }

        public static bool RegistrarClienteExperienciaLaboral(int ExLa_ID,
                                                                int idPostulante,
                                                              string nombreEmpresa,
                                                              string cargo,
                                                              decimal sueldo,
                                                              string area,
                                                              DateTime fechaInicio,
                                                              DateTime fechaFin,
                                                              string jefeInmediato,
                                                              string jefeTelefono,
                                                              string rubro)
        {
            return DACliente.RegistrarClienteExperienciaLaboral(ExLa_ID, idPostulante,
                                                               nombreEmpresa,
                                                               cargo,
                                                               sueldo,
                                                               area,
                                                               fechaInicio,
                                                               fechaFin,
                                                               jefeInmediato,
                                                               jefeTelefono,
                                                               rubro);
        }

        public static List<IN_CLIENTE_EXPERIENCIA_LABORAL> ListarClienteExperienciaLaboral(int idPostulante)
        {
            return DACliente.ListarClienteExperienciaLaboral(idPostulante);
        }

        public static IN_CLIENTE_EXPERIENCIA_LABORAL ObtenerClienteExperienciaLaboral(int ID)
        {
            return DACliente.ObtenerClienteExperienciaLaboral(ID);
        }

        public static bool RegistrarClienteFormacionAcademica(int ID, int idPostulante,
                                                             string nombreCentro,
                                                             int idPais,
                                                             DateTime fechaInicio,
                                                             DateTime fechaFin,
                                                             string profesion,
                                                             string anno)
        {
            return DACliente.RegistrarClienteFormacionAcademica(ID, idPostulante, nombreCentro, idPais, fechaInicio, fechaFin, profesion, anno);
        }

        public static IN_CLIENTE_FORMACION_ACADEMICA ObtenerClienteFormacionAcademica(int ID)
        {
            return DACliente.ObtenerClienteFormacionAcademica(ID);
        }

        public static List<IN_CLIENTE_FORMACION_ACADEMICA> ListarClienteFormacionAcademica(int idPostulante)
        {
            return DACliente.ListarClienteFormacionAcademica(idPostulante);
        }

        public static bool EliminarClienteFormacionAcademica(int ID)
        {
            return DACliente.EliminarClienteFormacionAcademica(ID);
        }

        public static bool EliminarClienteExperienciaLaboral(int ID)
        {
            return DACliente.EliminarClienteExperienciaLaboral(ID);
        }
    }
}
